在過去六天的學習中,我們完成了從資料庫設計到前端互動的完整流程,打造了一個可執行 CRUD 的留言板 API。以下整理重點:
這週建立了一個 DynamoDB 資料表 Messages,包含欄位:
使用 AWS Lambda 作為伺服器端邏輯:
在程式中加入 CORS 支援,允許前端網頁跨來源呼叫 Lambda API:
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET,POST,PUT,DELETE,OPTIONS",
"Access-Control-Allow-Headers": "Content-Type"
建立 REST API,把 Lambda 函式暴露為可被 HTTP 呼叫的端點:
設定路徑 /MessagesHandler
,並建立四種方法:
https://xxx.amazonaws.com/prod/MessagesHandler
使用簡單的 HTML + JavaScript 建立測試介面:
<input>
取得使用者輸入的 ID 與 Message<button>
綁定函式觸發 CRUDJavaScript 使用 fetch API 與 Lambda REST API 互動:
顯示結果在 <div id="output">
上
整個流程:
使用者輸入 → 點擊按鈕 → fetch → Lambda → DynamoDB → 回傳 JSON → 顯示在頁面
由於前端頁面和 API 不在同一個來源,需設定 CORS:
header Access-Control-Allow-Origin: *
preflight
index.html
測試 CRUD 功能python -m http.server 8000
啟動本地伺服器,避免 file://
原因造成 CORS 問題透過 Lambda + DynamoDB + API Gateway,建立了 無伺服器的留言板 API
整個流程連貫起來,就是一個完整的無伺服器留言板系統:使用者在網頁輸入 → Lambda 處理 → DynamoDB 存取 → 回傳 → 顯示在網頁上。
那麼明天開始我們要正式進入實作出小系統的部分啦!